package ar.com.larreta.colegio.client.planesdepagos;

import java.util.ArrayList;
import java.util.List;

import ar.com.larreta.grilla.client.NumberCellRenderer;
import ar.com.larreta.grilla.client.SectorConGrilla;
import ar.com.larreta.vista.client.Mensajes;
import ar.com.larreta.vista.client.Ventana;

import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;

public class SectorDetalles extends SectorConGrilla {

	public static final Integer ANCHO = 400;
	public static final Integer LARGO_DATOS = VentanaPlanesDePagos.LARGO_INFO - 150;
	public static final Integer LARGO_GRILLA = LARGO_DATOS - 50;
	
	private VentanaPlanesDePagos ventanaPlanesDePagos;
	
	public VentanaPlanesDePagos getVentanaPlanesDePagos() {
		return ventanaPlanesDePagos;
	}

	public SectorDetalles(VentanaPlanesDePagos ventanaPlanesDePagos) {
		super(Mensajes.getInstancia().get("msg.colegio.detalles"));
		this.ventanaPlanesDePagos = ventanaPlanesDePagos;
		
		setSize((ANCHO) - 15 , LARGO_DATOS);
		
		grilla.setSize((ANCHO) - 40 , LARGO_GRILLA);
		grilla.setTamanioPagina(8);
	
		grilla.habilitarMenuContextual(new BotonBorrarDetallePresionado(this), new BotonModificarDetallePresionado(this));
		
		grilla.addSelectionChangeListener(new CambioEnLaSeleccionGrillaDetalle(ventanaPlanesDePagos));		
	}
	
	public void estadoBotonesGrillaDetallesEspecificos(List seleccionados){
		ventanaPlanesDePagos.getSectorDetallesEspecificos().estadoBotonesSectorConGrilla(((seleccionados!=null) && (!seleccionados.isEmpty()) && (seleccionados.size()==1)));
	}

	@Override
	public ColumnModel getConfiguracionColumnas() {
		ColumnConfig columnNombre = new ColumnConfig("nombre", Mensajes.getInstancia().get("msg.colegio.detalles.nombre"), 217);
		ColumnConfig columnValor = new ColumnConfig("valor", Mensajes.getInstancia().get("msg.colegio.detalles.valor"), 140);
		columnValor.setAlignment(HorizontalAlignment.RIGHT);
		columnValor.setRenderer(new NumberCellRenderer("0.00"));
		ArrayList<ColumnConfig> columnConfigs = new ArrayList<ColumnConfig>();
		
		columnConfigs.add(columnNombre);
		columnConfigs.add(columnValor);
		return new ColumnModel(columnConfigs);
	}

	@Override
	public String getNombreLista() {
		return "listaDetalles";
	}

	@Override
	public void botonAgregarSeleccionado() {
		Ventana ventana = new VentanaDetalles(this, grilla);
		ventana.show();
	}

}
